Skip to main content

Versi 1

FieldIsi
Dokumen IDVBS-LAP-023
DeskripsiKumpulan laporan pembelian per dimensi: per invoice, rinci per barang, per supplier, per jenis barang, per barang, serta laporan custom pivot
Nomor Revisi1
Tanggal2026-10-04
KeteranganDokumentasi baseline dari dokumentasi fitur demo dan kode FE

1. Ringkasan​

a. In scope​

  • User membuka daftar Laporan Pembelian dan hanya melihat laporan yang diizinkan perannya.
  • Laporan yang dicakup: pembelian per invoice, pembelian rinci, pembelian per supplier, pembelian per jenis barang, pembelian per barang, dan laporan custom pembelian (pivot).
  • User mengisi periode, cabang, dan mode pembelian, lalu menambah filter supplier, user, cluster, status tagihan, asal pembelian, atau jatuh tempo sesuai halaman.
  • User melihat total ringkas (total pembelian, belum lunas, kuantitas, rata-rata harga beli) dan membuka invoice atau PO asal.
  • User melihat rincian metode pembayaran sebuah invoice pembelian.
  • User menyusun laporan pivot dengan baris, kolom, dan nilai yang dipilih, lalu menyimpan susunan sebagai template.
  • User mengekspor laporan ke Excel sesuai hak akses.

b. Catatan​

c. Kesimpulan​

  • [FE] -
  • [BE] -

2. Functional Requirement​

KodeDeskripsi
FR-01Hub /brand/:id/laporan-pembelian menampilkan kartu laporan sesuai izin user
FR-02Pembelian per invoice (/daftar-pembelian) menampilkan daftar invoice tercetak beserta supplier, user, status tagihan, total, dan PPN untuk brand PKP
FR-03User dapat melihat rincian metode pembayaran sebuah invoice dari pembayaran kontan dan pelunasan hutang
FR-04Pembelian rinci (/pembelian-rinci) menampilkan baris barang per invoice: barang, satuan, kuantitas, harga beli, diskon, subtotal, dengan opsi kelompokkan
FR-05Pembelian per supplier (/pembelian-persupplier) menampilkan agregat total invoice, belum dibayar, dan total pembelian per supplier
FR-06Pembelian per jenis barang (/pembelian-perjenisbarang) dan per barang (/pembelian-perbarang) menampilkan kuantitas, total, persentase, dan persentase kumulatif
FR-07Laporan custom pembelian (/laporan-pembelian-pivot) menyusun pivot dari baris, kolom, dan nilai terpilih serta menyimpan template ke konfigurasi brand
FR-08User dengan izin Excel dapat mengekspor laporan yang sedang tampil ke file Excel

3. Use Case List​

KodeDeskripsi
UC-01Membuka daftar laporan pembelian
UC-02Melihat pembelian per invoice
UC-03Melihat rincian metode pembayaran invoice
UC-04Melihat pembelian rinci per barang
UC-05Melihat pembelian per supplier
UC-06Melihat pembelian per jenis barang dan per barang
UC-07Menyusun laporan pivot pembelian dan menyimpan template
UC-08Mengekspor laporan pembelian ke Excel

4. Use Case Scenario​

UC-01 : Membuka daftar laporan pembelian​

AktorUser dengan akses laporan pembelian
DeskripsiUser memilih laporan pembelian yang ingin dibuka
PrekondisiUser sudah login dan brand aktif
Alur utama1. User membuka menu Laporan lalu tab Pembelian.
2. Sistem menampilkan kartu laporan yang diizinkan.
3. User memilih salah satu kartu.
4. Sistem membuka halaman laporan dalam kondisi kosong dengan pesan "Lengkapi filter untuk menampilkan data".
Alur negatif- Jika user tidak memiliki izin laporan tertentu, kartunya tidak ditampilkan.
- Jika tidak ada kartu sama sekali, muncul "Tidak memiliki akses".
Bisnis rule- Izin per kartu cakupan dokumen ini: #lap-pembelian-per-inv, #lap-pembelian-rinci, #lap-pembelian-per-supplier, #lap-pembelian-jenis-barang, #lap-pembelian-per-barang, #lap-custom.
- Kartu lain di hub (pesanan belum diproses, pengembalian dana, retur, hutang) punya dokumen TDD terpisah.
- Tombol kembali di setiap laporan mengarah ke hub laporan pembelian.
PostkondisiHalaman laporan terpilih terbuka
TriggerUser membuka tab Pembelian pada menu Laporan
Kode FRFR-01

UC-02 : Melihat pembelian per invoice​

AktorUser pembelian / akuntansi
DeskripsiUser melihat daftar invoice pembelian dalam periode beserta status tagihannya
PrekondisiUser memiliki izin #lap-pembelian-per-inv
Alur utama1. User mengisi periode, cabang, dan mode pembelian.
2. User dapat menambah filter nomor invoice, cluster, supplier, user, status tagihan, asal pembelian, dan jatuh tempo.
3. User menekan tombol tampilkan.
4. Sistem menampilkan invoice: tanggal, nomor invoice, asal nota, user, cabang, supplier, status tagihan, dan total.
5. Sistem menampilkan kartu total pembelian dan belum lunas.
6. User dapat mengklik nomor invoice atau PO untuk membuka dokumen di tab baru.
Alur negatif- Jika periode kosong, muncul alert "Periode Tidak Boleh Kosong".
- Jika mode pembelian kosong, muncul alert "Mode Pembelian harus diisi!".
- Jika data kosong atau gagal dimuat, muncul notifikasi "Data yang anda filter tidak ditemukan silahkan ganti filter".
Bisnis rule- Hanya invoice tercetak yang diambil kecuali filter nomor invoice spesifik.
- Status tagihan menampilkan lunas atau belum lunas dari sisa hutang.
- Kolom total sebelum PPN dan PPN hanya tampil bila brand berstatus Pengusaha Kena Pajak.
- Total belum lunas memakai sisa hutang, bukan total invoice.
PostkondisiDaftar invoice dan total ringkas tampil
TriggerUser menekan tombol tampilkan
Kode FRFR-02

UC-03 : Melihat rincian metode pembayaran invoice​

AktorUser pembelian / akuntansi
DeskripsiUser melihat rincian metode pembayaran kontan dan pelunasan hutang sebuah invoice
PrekondisiInvoice pembelian sudah tampil di daftar
Alur utama1. User mengklik total tagihan invoice yang memiliki riwayat bayar.
2. Sistem membuka modal metode pembayaran.
3. Sistem menampilkan pembayaran kontan dan pembayaran hutang per metode.
4. Jika tidak ada metode, muncul "Metode Bayar masih kosong".
Alur negatif- Jika gagal memuat data pembayaran, modal menampilkan daftar kosong atau pesan error.
Bisnis rule- Rincian digabung dari pembayaran kontan pembelian dan laporan pembayaran hutang.
PostkondisiModal metode pembayaran tampil
TriggerUser mengklik total tagihan invoice
Kode FRFR-03

UC-04 : Melihat pembelian rinci per barang​

AktorUser pembelian / akuntansi
DeskripsiUser melihat baris barang per invoice pembelian
PrekondisiUser memiliki izin #lap-pembelian-rinci
Alur utama1. User mengisi periode dan cabang.
2. User dapat memilih pengelompokan: semua, per supplier, per cabang, per jenis barang, atau per barang.
3. User dapat menambah filter supplier, barang, cluster, jenis barang, dan tipe satuan terkecil.
4. User menekan tombol tampilkan.
5. Sistem menampilkan baris: invoice, barang, satuan, kuantitas, harga beli, diskon, subtotal, serta total ringkas.
Alur negatif- Jika periode kosong, muncul alert "Periode Tidak Boleh Kosong".
- Jika data kosong, muncul "Data yg anda filter tidak ditemukan silahkan ganti filter".
Bisnis rule- Pengelompokan dilakukan di tampilan; data diambil per baris barang invoice.
- Kolom diskon mengikuti pengaturan rincian pembelian brand.
PostkondisiTabel pembelian rinci tampil
TriggerUser menekan tombol tampilkan
Kode FRFR-04

UC-05 : Melihat pembelian per supplier​

AktorUser pembelian / akuntansi
DeskripsiUser melihat agregat pembelian dikelompokkan per supplier
PrekondisiUser memiliki izin #lap-pembelian-per-supplier
Alur utama1. User mengisi periode, cabang, dan supplier opsional.
2. User menekan tombol tampilkan.
3. Sistem menampilkan per supplier: total invoice, invoice belum terbayar, invoice belum diproses, total belum dibayar, total lunas, dan total pembelian.
4. User dapat mengaktifkan lihat rincian pembelian untuk melihat daftar invoice per supplier.
Alur negatif- Jika periode kosong, muncul alert "Periode Tidak Boleh Kosong".
- Jika rincian invoice belum diproses kosong, muncul "Invoice Pembelian Belum diproses masih kosong".
Bisnis rule- Agregasi per supplier dilakukan di tampilan dari data invoice.
- Invoice belum diproses dapat dibuka lewat modal dari kolom terkait.
PostkondisiAgregat per supplier tampil
TriggerUser menekan tombol tampilkan
Kode FRFR-05

UC-06 : Melihat pembelian per jenis barang dan per barang​

AktorUser pembelian / akuntansi
DeskripsiUser melihat agregat pembelian per jenis barang atau per barang beserta persentase
PrekondisiUser memiliki izin #lap-pembelian-jenis-barang atau #lap-pembelian-per-barang
Alur utama1. User mengisi periode dan cabang.
2. User dapat memfilter jenis barang atau barang.
3. User menekan tombol tampilkan.
4. Sistem menampilkan kuantitas, persentase, persentase kumulatif, dan total.
5. Pada per barang, user dapat membuka modal rincian varian SKU.
Alur negatif- Jika periode kosong, muncul alert "Periode Tidak Boleh Kosong".
- Jika varian SKU kosong, muncul "Varian SKU masih kosong".
Bisnis rule- Jenis barang kosong ditampilkan sebagai "Tidak Diisi".
- Persentase dihitung terhadap total pembelian periode yang difilter.
PostkondisiAgregat per jenis atau per barang tampil
TriggerUser menekan tombol tampilkan
Kode FRFR-06

UC-07 : Menyusun laporan pivot pembelian dan menyimpan template​

AktorUser dengan izin laporan custom
DeskripsiUser menyusun laporan pivot pembelian lalu menyimpan susunan sebagai template
PrekondisiUser memiliki izin #lap-custom
Alur utama1. User membuka laporan custom pembelian.
2. User memilih periode, data baris (maksimal 4), data kolom, dan nilai terukur (maksimal 3).
3. User menekan tampilkan laporan.
4. Sistem menampilkan tabel pivot.
5. User menyimpan nama template; sistem menyimpan ke konfigurasi brand.
Alur negatif- Jika baris/kolom belum lengkap, muncul "Lengkapi Data Baris dan Kolom untuk melihat Laporan".
- Jika nama template kosong, muncul "Nama Template harus di isi".
- Jika nama template duplikat, muncul "Nama Template harus uniq".
Bisnis rule- Dimensi baris/kolom mencakup user, status lunas, tercetak, konsinyasi, cabang, supplier, tempo, bulan, tahun, kuartal, dan PO.
- Nilai terukur: total pembelian, PPN, service charge, diskon global, rata-rata total pembelian.
- Template disimpan di konfigurasi brand laporan pembelian.
PostkondisiPivot tampil dan/atau template tersimpan
TriggerUser menekan tampilkan laporan atau simpan template
Kode FRFR-07

UC-08 : Mengekspor laporan pembelian ke Excel​

AktorUser dengan izin Excel
DeskripsiUser mengunduh laporan pembelian yang sedang tampil sebagai file Excel
PrekondisiLaporan sudah tampil dan user memiliki izin excel pada laporan tersebut
Alur utama1. User menekan tombol export Excel.
2. Sistem menyusun baris dari data tabel yang tampil.
3. Browser mengunduh file Excel, mis. "Laporan Daftar Pembelian.xlsx".
Alur negatif- Jika periode kosong, muncul alert "Periode Tidak Boleh Kosong".
- Jika data belum ada, muncul "Data tidak ditemukan" atau "Silahkan Lihat Laporan terlebih dahulu baru, kemudian tekan Unduh File!".
Bisnis rule- Ekspor dibuat di browser tanpa memanggil API baru.
- Kolom PPN mengikuti status PKP brand.
- Tombol unduh pada pivot pembelian belum terhubung ke handler ekspor.
PostkondisiFile Excel terunduh
TriggerUser menekan tombol export Excel
Kode FRFR-08

5. Data Flow Diagram​

DFD-01 — Alur data laporan pembelian​

6. Sequence Diagram​

SD-01 — UC-01 : Membuka daftar laporan pembelian​

SD-02 — UC-02 : Melihat pembelian per invoice​

SD-03 — UC-03 : Melihat rincian metode pembayaran invoice​

SD-04 — UC-04 : Melihat pembelian rinci per barang​

SD-05 — UC-05 : Melihat pembelian per supplier​

SD-06 — UC-06 : Melihat pembelian per jenis barang dan per barang​

SD-07 — UC-07 : Menyusun laporan pivot pembelian dan menyimpan template​

SD-08 — UC-08 : Mengekspor laporan pembelian ke Excel​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
POST /laporan-pembelian/purchase-reportexisting-
POST /laporan-pembelian/pembelian-rinciexisting-
POST /laporan-pembelian/detail-purchase-reportexisting-
POST /financial-report/pembayaran-hutang-reportexisting-
PUT /brand/config/:idexisting-
GET /gudangexisting-
POST /supplier/get-supplierexisting-